import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class NewStreamAPI {
    public static void main(String args[]) {
        /**
         *数组使用stream 暂时有点问题（已清楚）：应该使用何种方式创建stream流：
         * Arrays.stream()，专门针对基本类型数组优化的流，可以直接进行数值计算（如.sum(),.average()等聚合操作）
         * 终端toArray（）根据元素类型返回数组；
         * 集合使用stream
         * 创建一个stream流
         * .stream()
         * 中间操作
         * .filter(value -> value != null)
         * .map(Object::toString)
         * .distinct()
         * .sorted(Comparator.reverseOrder())
         * 终端操作
         * .collect(Collectors.joining(","))/(Collectors.toMap(keyMapper, valueMapper))/(Collectors.toList())/count()
         * .reduce(1,(a,b)-> a*b)/(0,integer::sum)/(0,integer::max)/(0,integer::sum)/("",Stirng::concat)
         * .foreach()
         * .count()
         */

        HashMap<String,Integer> map = new HashMap<>();
        map.put("姓名",2);
        map.put("性别",2);
        map.put("年龄",3);

        int count = map.values().stream()
                .filter(value -> value != null)
//                        .map(Object::toString)
                .sorted(Comparator.reverseOrder())
                .reduce(1,(a,b)-> a*b);
//                                .collect(Collectors.joining(",","[","]"));

        System.out.println(count);
    }

}
